package cn.zsb.zsb.util;//package cn.zsb.zsb.util;
//
//import redis.clients.jedis.Jedis;
//
//import java.util.List;
//import java.util.Map;
//import java.util.Set;
//
//public class RedisTool {
//
//    Jedis jedis = null;
//
//    public RedisTool() {
//        //连接REDIS数据库
//        jedis = new Jedis("127.0.0.1",6379);
//        //密码认证
//        jedis.auth("laoliu123");
//        jedis.select(3);
//
//    }
//
//    /**
//     * @describe 判断key是否存在
//     */
//    public boolean exists(String key) {
//        return jedis.exists(key);
//    }
//
//    /**
//     * @describe 往REDIS数据库中添加信息(数组形式)
//     */
//    public void lpush_arr(String key, String[] values) {
//        jedis.lpush(key, values);
//    }
//
//    /**
//     * @describe 返回key的类型
//     */
//    public Object type(String key) {
//        return jedis.type(key);
//    }
//
//    /**
//     * @describe 随机返回一个key
//     */
//    public Object randomKey() {
//        return jedis.randomKey();
//    }
//
//    /**
//     * @describe 返回数据库中key的数目
//     */
//    public long dbSize() {
//        return jedis.dbSize();
//    }
//
//    /**
//     * @param seconds 存活时间
//     * @describe 设置一个可以的存活时间
//     */
//    public void expire(String key, int seconds) {
//        jedis.expire(key, seconds);
//        jedis.expire(key.getBytes(), seconds);
//    }
//
//    /**
//     * @describe 获取一个key的剩余存活时间
//     */
//    public long ttl(String key) {
//        return jedis.ttl(key);
//    }
//    public long ttlObj(String key) {
//        return jedis.ttl(key.getBytes());
//    }
//    /**
//     * @param key
//     * @describe 删除key及对应的filed-value
//     */
//    public void del(String key) {
//        jedis.del(key);
//    }
//
//    /*
//     * ###############################    String    ###############################
//     * */
//
//    /**
//     * @describe 获取key所对应的值(String)
//     */
//    public String get_str(String key) {
//        return jedis.get(key);
//    }
//
//    public byte[] get_Obj(String key) {
//        return jedis.get(key.getBytes());
//    }
//
//    /**
//     * @describe 向REDIS存放一组key-value(String)
//     */
//    public void set_str(String key, String value) {
//        jedis.set(key, value);
//    }
//
//    public void set_obj(String key, byte[] value) {
//        jedis.set(key.getBytes(), value);
//    }
//
//    /**
//     * @describe 向REDIS存放一组key-value(String),加上生存时间
//     * 单位为秒
//     */
//    public void set_str(String key, String value, int seconds) {
//        jedis.set(key, value);
//        this.expire(key, seconds);
//    }
//
//    public void set_obj(String key, byte[] value, int seconds) {
//        jedis.set(key.getBytes(), value);
//        this.expire(key, seconds);
//    }
//
//    /**
//     * @describe 在key对应的值后追加value(String)
//     */
//    public void append_str(String key, String value) {
//        jedis.append(key, value);
//    }
//
//    /**
//     * @describe 给key值所对应的value加1, 前提value值是数字(String)
//     */
//    public void incr_str(String key) {
//        jedis.incr(key);
//    }
//
//    /**
//     * @describe 给key值所对应的value减1, 前提value值是数字(String)
//     */
//    public void decr_str(String key) {
//        jedis.decr(key);
//    }
//
//    /**
//     * @param num 要加去的数
//     * @describe 给key值所对应的value加上NUM(String)
//     */
//    public void incrBy_str(String key, long num) {
//        jedis.incrBy(key, num);
//    }
//
//    /**
//     * @param num 要减去的数
//     * @describe 给key值所对应的value减去NUM(String)
//     */
//    public void decrBy_str(String key, long num) {
//        jedis.decrBy(key, num);
//    }
//
//    /**
//     * @param start start从0开始
//     * @param end   截取到value的end位置
//     * @describe 截取key所对应的value的字符串(String)
//     */
//    public String substr_str(String key, int start, int end) {
//        return jedis.substr(key, start, end);
//    }
//
//    /*
//     * ###############################    List    ###############################
//     * */
//
//    /**
//     * @describe 在key对应的list尾添加value(List)
//     */
//    public void rpush_list(String key, String[] value) {
//        jedis.rpush(key, value);
//    }
//
//    /**
//     * @describe 在key对应的list头添加value(List)
//     */
//    public void lpush_list(String key, String[] value) {
//        jedis.lpush(key, value);
//    }
//
//    /**
//     * @return 返回key对应的list的长度
//     * @describe 获取key对应的list的长度(List)
//     */
//    public long llen_list(String key) {
//        return jedis.llen(key);
//    }
//
//    /**
//     * @param start 附:start从0开始算起
//     * @return 返回key对应的list中从start至end的元素
//     * @describe 返回key对应的list中从start至end的元素(List)
//     */
//    public List<String> lrange_list(String key, int start, int end) {
//        return jedis.lrange(key, start, end);
//    }
//
//    /**
//     * @param index 附:index从0开始算起
//     * @return 返回key所对应的list的第index个元素
//     * @describe 获取key所对应的list的第index个元素(List)
//     */
//    public String lindex_list(String key, int index) {
//        return jedis.lindex(key, index);
//    }
//
//    /**
//     * @param index 附:index从0开始算起且index的取值在list的长度范围之内
//     * @describe 给key所对应的list的第index元素赋值(List)
//     */
//    public void lset_list(String key, int index, String value) {
//        jedis.lset(key, index, value);
//    }
//
//    /**
//     * @return 返回被删除的元素
//     * @describe 删除key对应的list的首元素并返回该元素(List)
//     */
//    public String lpop_list(String key) {
//        return jedis.lpop(key);
//    }
//
//    /**
//     * @return 返回被删除的元素
//     * @describe 删除key对应的list的尾元素并返回该元素(List)
//     */
//    public String rpop_list(String key) {
//        return jedis.rpop(key);
//    }
//
//    /*
//     * ###############################    Set    ###############################
//     * */
//
//    /**
//     * @return 返回存放的元素个数
//     * @describe 往REDIS中存放数据(Set)
//     */
//    public long sadd_set(String key, String[] elements) {
//        return jedis.sadd(key, elements);
//    }
//
//    /**
//     * @return 返回删除的元素个数
//     * @describe 删除key对应的value中的elements元素(Set)
//     */
//    public long srem_set(String key, String[] elements) {
//        return jedis.srem(key, elements);
//    }
//
//    /**
//     * @return 返回key对应的value的元素个数
//     * @describe 获取key对应的value的元素个数(Set)
//     */
//    public long scard_set(String key) {
//        return jedis.scard(key);
//    }
//
//    /**
//     * @return true|false
//     * @describe element是否是key对应的value中的元素(Set)
//     */
//    public boolean sismember_set(String key, String element) {
//        return jedis.sismember(key, element);
//    }
//
//    /**
//     * @return 返回keys的交集
//     * @describe 获取多个key即keys的交集(Set)
//     */
//    public Set<String> sinter_set(String[] keys) {
//        return jedis.sinter(keys);
//    }
//
//    /*
//     * ###############################    Hash    ###############################
//     * */
//
//    /**
//     * @describe 向名称为key的hash中添加filed, 其field与value是一对键值对(Hash)
//     */
//    public void hset_hash(String key, String field, String value) {
//        jedis.hset(key, field, value);
//    }
//
//    /**
//     * @return value
//     * @describe 获取key下的hash中filed所对应的value值(Hash)
//     */
//    public String hget_hash(String key, String field) {
//        return jedis.hget(key, field);
//    }
//
//    /**
//     * @return value
//     * @describe 获取key下的hash中filed所对应的value值(多个field, 因此返回List结果集)(Hash)
//     */
//    public List<String> hmget_hash(String key, String[] fields) {
//        return jedis.hmget(key, fields);
//    }
//
//    /**
//     * @return OK
//     * @describe 往key中存储一个map对象(Hash)
//     */
//    public String hmset_hash(String key, Map<String, String> hash) {
//        return jedis.hmset(key, hash);
//    }
//
//    /**
//     * @return true false
//     * @describe 名称为key的hash中是否存在键为field的域(Hash)
//     */
//    public boolean hexists_hash(String key, String field) {
//        return jedis.hexists(key, field);
//    }
//
//    /**
//     * @return 返回删除的个数
//     * @describe 删除名称为key的hash中键为field的域(Hash)
//     */
//    public long hdel_hash(String key, String[] fields) {
//        return jedis.hdel(key, fields);
//    }
//
//    /**
//     * @return 返回key对应的hash的元素个数
//     * @describe 返回名称为key的hash中元素个数(Hash)
//     */
//    public long hlen_hash(String key) {
//        return jedis.hlen(key);
//    }
//
//    /**
//     * @return 返回Set结果集
//     * @describe 返回名称为key的hash中所有键即field(Hash)
//     */
//    public Set<String> hkeys_hash(String key) {
//        return jedis.hkeys(key);
//    }
//
//    /**
//     * @return 返回List结果集
//     * @describe 返回名称为key的hash中所有键对应的value(Hash)
//     */
//    public List<String> hkeys_hvals(String key) {
//        return jedis.hvals(key);
//    }
//
//    /**
//     * @return 返回Map结果集
//     * @describe 返回名称为key的hash中所有的键（field）及其对应的value(Hash)
//     */
//    public Map<String, String> hgetall_hash(String key) {
//        return jedis.hgetAll(key);
//    }
//
//    /**
//     * @describe 自定义引用JEDIS内置方法
//     * @category 由于有些方法不是很常用, 所以定义此方法, 方便调用其他本类未定义方法
//     */
//    public Jedis getJedis() {
//        return jedis;
//    }
//}
